<html>
<head><meta charset="utf-8"><title>generic member access visitor · project-error-handling · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/index.html">project-error-handling</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html">generic member access visitor</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="240124818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240124818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bstrie <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240124818">(May 24 2021 at 23:11)</a>:</h4>
<p>I'll admit that the generic member access RFC sort of makes my eyes glaze over, but this blog post about a crate for extracting data from trait objects struck me as similar in intent, so maybe it will be of interest: <a href="https://tokio.rs/blog/2021-05-valuable">https://tokio.rs/blog/2021-05-valuable</a></p>



<a name="240125074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125074">(May 24 2021 at 23:14)</a>:</h4>
<p>for sure, nika and I already talked with them a bit about it in their discord a few months back when they first started working on Valuable</p>



<a name="240125571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125571">(May 24 2021 at 23:20)</a>:</h4>
<p>Looking at it though, I don't really see how it helps solve any of the problems for generic member access</p>



<a name="240125595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125595">(May 24 2021 at 23:20)</a>:</h4>
<p>we don't need to visit the members arbitrary dyn Errors in ways that are motivated by the content of those errors</p>



<a name="240125635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125635">(May 24 2021 at 23:21)</a>:</h4>
<p>the reason I wanted generic member access was to get <code>SpanTrace</code> out of <code>dyn Error</code>s</p>



<a name="240125640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125640">(May 24 2021 at 23:21)</a>:</h4>
<p>or ExitCode</p>



<a name="240125646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125646">(May 24 2021 at 23:21)</a>:</h4>
<p>or http::StatusCode</p>



<a name="240125648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125648">(May 24 2021 at 23:21)</a>:</h4>
<p>or stuff like that</p>



<a name="240125725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125725">(May 24 2021 at 23:22)</a>:</h4>
<p>basically a generic way to spell out the various <code>fn backtrace(&amp;self) -&gt; Option&lt;&amp;Backtrace&gt;</code> like functions that you could imagine for any specific application</p>



<a name="240125771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/generic%20member%20access%20visitor/near/240125771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/generic.20member.20access.20visitor.html#240125771">(May 24 2021 at 23:23)</a>:</h4>
<p>with a valuable like API we'd have go ignore all of the field names, and we'd be restricted to types that fit within the Valuable API, which is centered around an enum small set of variants, where as Generic member access relies on type erasure</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>